package main

import (
	"fmt"
	"os"
	"os/signal"
	"sync"
)

func main() {
	var wg sync.WaitGroup
	wg.Add(1)

	go signalListen(&wg)
	wg.Wait()
}

func signalListen(wg *sync.WaitGroup) {
	c := make(chan os.Signal)
	signal.Notify(c)
	for {
		s := <-c
		//收到信号后的处理，这里只是输出信号内容，可以做一些更有意思的事
		fmt.Println("get signal:", s)
		wg.Done()
	}
}